package com.csj.configclient;

import org.springframework.beans.factory.annotation.Value;
import org.springframework.boot.SpringApplication;
import org.springframework.boot.autoconfigure.SpringBootApplication;
import org.springframework.cloud.context.config.annotation.RefreshScope;
import org.springframework.web.bind.annotation.RequestMapping;
import org.springframework.web.bind.annotation.RestController;

/**
 * 注意事项：
 * 1.用idea勾选config-clent自动构建的项目不会引入spring-boot-starter-web，手动引入下
 * 2.需要新建个bootstrap.properties文件，不能使用application.properties
 * 3.配置文件中的spring.application.name名字必须为远程配置文件的文件名！
 * 4.客户端加载到的配置文件的配置项会覆盖本项目已有配置，比如客户端你自己配置的端口是8881，但是如果读取到config-client-test这个配置文件中也有配置端口为8882，那么此时客户端访问的地址应该是8882
 *
 * 访问http://localhost:8881/hi就可以看到foo的值，从远程加载下来了。
 * config-client从config-server获取了foo的属性，而config-server是从git仓库读取的,如图：
 * */

@SpringBootApplication
@RestController
@RefreshScope
public class ConfigClientApplication {

    public static void main(String[] args) {
        SpringApplication.run(ConfigClientApplication.class, args);
    }

    @Value("${pro1}")
    String foo;

    @RequestMapping(value = "/hi")
    public String hi() {
        return foo;
    }
}
